package com.city.springcloud.controller;

import com.city.springcloud.entity.Dept;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.client.RestTemplate;

import java.util.List;

/**
 * Created with IntelliJ IDEA.
 * User: Cheng
 * Date: 2020/4/27
 * Time: 13:53
 * Description: No Description
 *
 * 消费者服务（不应该有service）通过RestTemplate调用api消费,相当于java的ajax
 * 将RestTemplate注册到spring ioc应用上下文容器中
 * springcloud基于http访问地址通信，而zookeeper基于rpc访问接口
 * 提供者去注册中心注册服务，调用者去注册中心获取提供者的地址，调用者调用提供者的接口
 */
@RestController
public class DeptConsumerController {
    @Autowired
    private RestTemplate restTemplate;

    //这里写死了，使用spring cloud ribbo来管理的话ribbo应该从服务器自动获取
    //private static final String urlHead="http://localhost:8001";
    //这就变成了从spring cloud eureka获取服务了，就能管理服务了
    private static final String urlHead="http://city";

    @GetMapping("/consumer/dept/list")
    public List<Dept> list(){
        return restTemplate.getForObject(urlHead+"/dept/list",List.class);
    }
}
